/**
*****************************************************************************
 * @file dev_adg1404.h
 * @brief ADG1404驱动
 * @author luffy
 * @version V1.0.0
 * @date 2022/11/30
****************************************************************************
 */
#ifndef _DEV_ADG1404_H
#define _DEV_ADG1404_H

#include "dev_include.h"

/* private config -----------------------------------------------------------*/
typedef struct
{
    drv_gpio_t 		    A0;
	drv_gpio_t 		    A1;
}adg1404_private_t;

/* Public defines -----------------------------------------------------------*/
typedef struct  drv_adg1404            drv_adg1404_t;

/* Public enum    -----------------------------------------------------------*/
typedef enum
{
    ADG1404_S1 = 0x0000,
    ADG1404_S2 = 0x0001,
    ADG1404_S3 = 0x0002,
    ADG1404_S4 = 0x0003,
}adg1404_source_pin_e;

typedef enum
{
    A0 = 0,
    A1,
    PIN_NUM,
}adg1404_ctl_pin_e;

/* Public Struct  -----------------------------------------------------------*/
struct drv_adg1404
{
    /* ***************Public Parameter  *************** */
    const char *        PIN_A0;
	const char *        PIN_A1;
	
    /* ***************Private Attributes*************** */
    adg1404_private_t  private;
};

/* Public Variable ---------------------------------------------------------*/
//Pointer
//Array
//Const
/* Pubilc function prototypes -----------------------------------------------*/
int Dev_Adg1404_init(drv_adg1404_t *this);
void ADG1404_ON_CH(adg1404_source_pin_e ch);

#endif
